Package de.yaams.maker.helper.gui.bcb

Source Code of de.yaams.maker.helper.gui.bcb.YBCB

/**
*
*/
package de.yaams.maker.helper.gui.bcb;

import java.awt.BorderLayout;

import javax.swing.Icon;
import javax.swing.JPanel;
import javax.swing.JTree;

import org.pushingpixels.flamingo.api.bcb.BreadcrumbBarModel;
import org.pushingpixels.flamingo.api.bcb.BreadcrumbItem;
import org.pushingpixels.flamingo.api.bcb.BreadcrumbPathEvent;
import org.pushingpixels.flamingo.api.bcb.BreadcrumbPathListener;

import de.yaams.maker.helper.gui.YToolBar;
import de.yaams.maker.helper.gui.icons.IconCache;
import de.yaams.maker.programm.YaFrame;
import de.yaams.maker.programm.favorit.FavoritManagement;
import de.yaams.maker.programm.tabs.YaTab;

/**
* @author abby
*
*/
public class YBCB extends JPanel {

  private static final long serialVersionUID = 3445143340398196389L;

  protected YToolBar right;
  protected YBreadcrumbTreeAdapterSelector bar;

  /**
   * @param arg0
   */
  public YBCB() {
    super(new BorderLayout());
    right = new YToolBar();
  }

  /**
   * Build the navi
   *
   * @param bcb
   */
  public void build(BcbBuilder bcb, final YaTab tab) {
    final JTree tree = new JTree(bcb.getRoot());
    bar = new YBreadcrumbTreeAdapterSelector(tree.getModel(), new YBreadcrumbTreeAdapterSelector.TreeAdapter() {
      @Override
      public String toString(Object node) {

        BcbElement b = (BcbElement) node;
        return b.getTitle();
      }

      @Override
      public Icon getIcon(Object node) {
        BcbElement b = (BcbElement) node;

        if (b.getIcon() != null) {
          return IconCache.get(b.getIcon());
        } else {
          return null;
        }
      }

    }, false);

    bar.setPath(bcb.getList());

    // add listener
    bar.getModel().addPathListener(new BreadcrumbPathListener() {

      @Override
      public void breadcrumbPathEvent(BreadcrumbPathEvent b) {
        BreadcrumbBarModel<BcbElement> bbm = (BreadcrumbBarModel<BcbElement>) b.getSource();
        BreadcrumbItem<BcbElement> bci = bbm.getItem(bbm.getItemCount() - 1);
        BcbElement bcb = bci.getData();

        // close tab
        YaFrame.close(tab.getId());

        // run it
        bcb.getAction().actionPerformed(null);

      }
    });

    add(bar, BorderLayout.CENTER);

    // add fav
    add(FavoritManagement.getToolbar(tab), BorderLayout.WEST);

    // add button
    add(right, BorderLayout.EAST);
  }

  /**
   * @return the right
   */
  public YToolBar getRight() {
    return right;
  }

}
TOP

Related Classes of de.yaams.maker.helper.gui.bcb.YBCB

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.